#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=210;
const int maxm=1e4+10;
int Favor[maxn],Str[maxm],N,M,L,dp[maxn];
int main(){
    scanf("%d",&N);
    scanf("%d",&M);
    int num=0;
    int x;
    for(int i=1;i<=M;i++){
        scanf("%d",&x);
        Favor[x]=i;
    }
    scanf("%d",&L);
    int u;
    for(int i=0;i<L;i++){
        scanf("%d",&u);
        if(Favor[u]<1 || Favor[u]>M)continue;
        Str[num++]=Favor[u];
    }
    int ans=0;
    for(int i=0;i<num;i++){
        dp[i]=1;
        for(int j=0;j<i;j++){
            if(Str[i]>=Str[j]){
                dp[i]=max(dp[j]+1,dp[j]);
            }
        }
        ans=max(dp[i],ans);
    }
    printf("%d\n",ans);
    return 0;
}

